import java.util.ArrayList;
import java.util.List;


public class Goal extends Position
{
	private List<Goal> blockerGoals;
	
	public Goal(Position position)
	{
		super(position.getX(), position.getY());
		blockerGoals = new ArrayList<Goal>();
	}

	public Goal(int x, int y)
	{
		super(x, y);
		blockerGoals = new ArrayList<Goal>();
	}
	
	public Goal(int x, int y, BoardElement element)
	{
		super(x, y);
		blockerGoals = new ArrayList<Goal>();
	}

    /**
    * @return A new Goal element that is a copy of this one
    */
    public Goal copy()
    {
        Goal ret = new Goal(this.getX(), this.getY());
        for(Goal block : this.blockerGoals)
            ret.addBlockerGoal(block);
        return ret;
    }
	
	public void addBlockerGoal(Goal blockerGoal)
	{
		this.blockerGoals.add(blockerGoal);
	}
	
	public void addBlockerGoals(List<Goal> blockerGoals)
	{
		this.blockerGoals.addAll(blockerGoals);
	}
	
	public List<Goal> getBlockerGoals()
	{
		return this.blockerGoals;
	}
	
}
